<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;
use think\Db;

class Tushu extends AdminController
{
    public function index()
    {
//        $data=db('txt')->select();
//        foreach($data as $v)
//        {
//            $cateid=db('category')->where('id',$v['cid'])->value('name');
//            $v['cname']=$data;
//        }
//        dump($cateid);
//        dump($data);
//        die;


        $res =Db::table('lamp_txt')
            ->alias('txt')
            ->join('lamp_category cate', 'cate.id  = txt.cid')
            ->field('cate.cname,txt.id,txt.zuozhe,txt.name,txt.desc,txt.photo,txt.end,txt.addtime,txt.hot')
            ->select();
       // dump($res);
       // die;
        return view('tushu/index',['data'=>$res]);

    }

    public function create()
    {


       $res = db('category')
                ->field('id,cname, path , concat(path, id, ",") as abc')
                ->order('abc')
                ->select();
        // $res = db('category')
        //     ->field(' id, cname, path')
        //     ->order('concat(path , id, ",")')
        //     ->select();
        foreach($res as $k => $v){
            // 统计出现了多少个逗号
            $num =substr_count($v['path'], ',');
//            dump($num);
            // 重复指定空格出现多少次
            $res[$k]['nbsp'] =  str_repeat('---', ($num-1)*2);
        }
//        dump($res);
//        die;

        return view('tushu/add',['res'=>$res]);
    }

    public function save(Request $request)
    {
        $data=input();
        // 获取表单上传文件 例如上传了001.jpg
        $file = request()->file('photo');
//        dump($file);
        // 移动到框架应用根目录/public/uploads/ 目录下
        if($file) {
            $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
            if ($info) {
                // 成功上传后 获取上传信息
                // 输出 jpg
                // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
                $data['photo'] = $info->getSaveName();
                $data['addtime'] = time();
               // dump($data);
               // die;
                $res = db('txt')->insert($data);
                if ($res) {
                    return $this->success('添加成功', 'admin/tushu/index');
                } else {
                    return $this->error('添加失败');
                }
                // 输出 42a79759f284b767dfcb2a0197904287.jpg
            }
        }else{
        // 上传失败获取错误信息
               return $this->error('添加失败,是否少了些什么?');
            }
    }

    public function dostatu($id)
    {
        //根据id查询该用户的状态
        $data =db('txt')->field('`hot`')->where('id',$id)->find();

        //去实现更新状态
        // 把状态转换

        $data['hot'] = $data['hot'] == '0' ? '1' : '0';

        // 执行sql语句
        $res = db('txt')->where('id',$id)->update($data);
//        dump($res);
//        die;
        if ($res){
            return $this->success('更新成功','admin/tushu/index');
        }else{
            return $this->error('更新失败');
        }
    }



    public function edit($id)
    {
        $res = db('txt')
            ->where('id',$id)
            ->find();
        return view('tushu/updata',['data'=>$res]);
    }

    public function update(Request $request)
    {
        $p=input();
//        dump($data);die;
        // 获取表单上传文件 例如上传了001.jpg
        $file = request()->file('photo');
        // 移动到框架应用根目录/public/uploads/ 目录下
        if($file){
            $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads');
            if($info){
        // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg
                $data=[
                    'name'=>$p['name'],
                    'photo'=> $info->getSaveName(),
                    'desc'=>$p['desc']
                ];
                $res=db('txt')->where('id',$p['id'])->update($data);
                if ($res){
                    return $this->success('更新成功','admin/tushu/index');
                }else{
                    return $this->error('更新失败');
                }
        // 输出 42a79759f284b767dfcb2a0197904287.jpg
            }
        }else{
                $data=[
                    'name'=>$p['name'],
                    'desc'=>$p['desc']
                ];
                $res=db('txt')->where('id',$p['id'])->update($data);
                if ($res){
                    return $this->success('更新成功','admin/tushu/index');
                }else{
                    return $this->error('更新失败');
                }
            }
    }


    public function del($id)
    {
        $res=db('txt')->where('id',$id)->delete();
        if ($res){
            return $this->success('删除成功','admin/tushu/index');
        }else{
            return $this->error('删除失败');
        }
    }
}
